package com.futureCloudMOM.core.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.futureCloudMOM.core.entity.FBaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "WMS_BarCodeInfo", description = "条码表")
@TableName(value = "WMS_BarCodeInfo")
public class WmsBarCodeInfo extends FBaseEntity implements Serializable {

    @NotBlank(message="[条码号]不能为空")
    @Size(max= 500,message="编码长度不能超过500")
    @ApiModelProperty("条码号")
    @Length(max= 500,message="编码长度不能超过500")
    @TableField(value = "barCode")
    private String barCode;
    
    @NotNull(message="[状态]不能为空")
    @ApiModelProperty("状态")
    @TableField(value = "status")
    private Long status;
    
    @NotNull(message="[物料ID]不能为空")
    @ApiModelProperty("物料ID")
    @TableField(value = "materialID")
    private Long materialID;
    
    @NotBlank(message="[数量]不能为空")
    @Size(max= 500,message="编码长度不能超过500")
    @ApiModelProperty("数量")
    @Length(max= 500,message="编码长度不能超过500")
    @TableField(value = "quantity")
    private BigDecimal quantity;
    
    @NotBlank(message="[批次]不能为空")
    @Size(max= 500,message="编码长度不能超过500")
    @ApiModelProperty("批次")
    @Length(max= 500,message="编码长度不能超过500")
    @TableField(value = "batchNum")
    private String batchNum;
    
    @NotNull(message="[创建日期]不能为空")
    @ApiModelProperty("创建日期")
    @TableField(value = "createDate")
    private Date createDate;
    
    @NotBlank(message="[操作人]不能为空")
    @Size(max= 500,message="编码长度不能超过500")
    @ApiModelProperty("操作人")
    @Length(max= 500,message="编码长度不能超过500")
    @TableField(value = "operator")
    private String operator;
    
    @NotBlank(message="[单据类型]不能为空")
    @Size(max= 500,message="编码长度不能超过500")
    @ApiModelProperty("单据类型")
    @Length(max= 500,message="编码长度不能超过500")
    @TableField(value = "billType")
    private String billType;
    
    @NotNull(message="[单据主表ID]不能为空")
    @ApiModelProperty("单据主表ID")
    @TableField(value = "billID")
    private Long billID;
    
    @NotNull(message="[单据子表ID]不能为空")
    @ApiModelProperty("单据子表ID")
    @TableField(value = "billSubID")
    private Long billSubID;
    
    @NotBlank(message="[备注]不能为空")
    @Size(max= 500,message="编码长度不能超过500")
    @ApiModelProperty("备注")
    @Length(max= 500,message="编码长度不能超过500")
    @TableField(value = "remark")
    private String remark;






}

